package edu.cuit.zhuyimeng.framework.logging.aspect.annotation;


import edu.cuit.zhuyimeng.framework.logging.aspect.enums.OperateLogType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface OperateLog {

    /**
     * 操作模块
     */
    String module() default "";
    /**
     * 操作名
     */
    String name() default "";
    /**
     * 操作分类
     */
    OperateLogType[] type() default {};

    /**
     * 是否记录操作日志
     */
    boolean enable() default true;
    /**
     * 是否记录方法参数
     */
    boolean logArgs() default false;
    /**
     * 是否记录方法结果的数据
     */
    boolean logResultData() default false;

}
